#ifndef _BCOS_MEM_H_
#define _BCOS_MEM_H_

#include <stdint.h>
#include "slist.h"

#define BCOS_MEM				0
#define BCOS_MEM_MALLOC			1
#define BCOS_MEM_UMM_MALLOC		2

#define BCOS_MEM_MANGER			BCOS_MEM_MALLOC

#if defined(BCOS_MEM_MANGER) && (BCOS_MEM_MANGER == BCOS_MEM)
#define BCOS_HEAP_MEM_SIZE	1024 * 32

typedef struct
{
	slist_t list;
	size_t  size;
}bcos_mem_t;
#endif

#if defined(BCOS_MEM_MANGER) && (BCOS_MEM_MANGER != BCOS_MEM_MALLOC)
void bcos_mem_init(void);
#endif
void *bcos_malloc(size_t size);
void bcos_free(void *memp);

#endif
